Assortment and shelf space optimization is a common business problem for retailers. A retailer must select, from a corpus of all available products, an assortment of those products to carry and display. The retailer must also decide, for each product in the assortment, a shelf on which to display the item and how to orient the item on the shelf. With thousands of products available and limited display space, finding an optimal assortment and arrangement of the assortment becomes an intractable problem.